package com.ruoyi.system.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import java.util.Date;

/*苏建账单的实体类*/
public class BillInfo extends BaseEntity {

    @Excel(name = "序号",prompt = "必填")
    private int serialNumber;

    /** 账单编号 */
    @Excel(name = "账单编号",prompt = "表格新增时不填，修改时不变")
    private String billId;

    /** 账单编号 */
    @Excel(name = "项目名称",prompt = "必填")
    private String projectName;

    /** 单位名称 */
    @Excel(name = "单位名称",prompt = "必填")
    private String companyName;

    /** 收费类型 */
    @Excel(name = "收费类型",prompt = "必填")
    private String chargeType;

    /** 开票时段start */
    @Excel(name = "开票时段-start", width = 30, dateFormat = "yyyy-MM-dd",prompt = "必填，格式yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date billingTimeStart;

    /** 开票时段end */
    @Excel(name = "开票时段-end", width = 30, dateFormat = "yyyy-MM-dd",prompt = "必填，格式yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date billingTimeEnd;

    /** 开票时段 */
    @Excel(name = "开票时段", width = 30,type = Excel.Type.EXPORT,prompt = "仅查看")
    private String billingTimeConcat;

    /** 开票时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "开票时间", width = 30, dateFormat = "yyyy-MM-dd",prompt = "必填，格式yyyy-MM-dd")
    private Date billingTime;
    private Date billingBeginTime;
    private Date billingOverTime;

    /** 开票金额 */
    @Excel(name = "开票金额（元）",prompt = "必填")
    private double billCount;

    /** 发票号 */
    @Excel(name = "发票号",prompt = "必填")
    private String billNumber;

    /** 到账金额 */
    @Excel(name = "到账金额（元）",prompt = "必填")
    private double receivedCount;

    /** 到账时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "到账时间", width = 30, dateFormat = "yyyy-MM-dd",prompt = "必填，格式yyyy-MM-dd")
    private Date receivedTime;
    private Date receivedBeginTime;
    private Date receivedOverTime;

    /** 到账状态 */
    @Excel(name = "到账状态", readConverterExp = "0=未到账,1=已到账",combo = {"已到账","未到账"})
    private String receivedStatus;

    /** 备注 */
    @Excel(name = "备注")
    private String remark;

    @Override
    public String getProjectName() {
        return projectName;
    }

    @Override
    public void setProjectName(String projectName) {
        this.projectName = projectName;
    }

    public int getSerialNumber() {
        return serialNumber;
    }

    public void setSerialNumber(int serialNumber) {
        this.serialNumber = serialNumber;
    }

    public String getBillId() {
        return billId;
    }

    public void setBillId(String billId) {
        this.billId = billId;
    }

    public String getCompanyName() {
        return companyName;
    }

    public void setCompanyName(String companyName) {
        this.companyName = companyName;
    }

    public String getChargeType() {
        return chargeType;
    }

    public void setChargeType(String chargeType) {
        this.chargeType = chargeType;
    }
    public Date getReceivedBeginTime() {
        return receivedBeginTime;
    }

    public void setReceivedBeginTime(Date receivedBeginTime) {
        this.receivedBeginTime = receivedBeginTime;
    }

    public Date getReceivedOverTime() {
        return receivedOverTime;
    }

    public void setReceivedOverTime(Date receivedOverTime) {
        this.receivedOverTime = receivedOverTime;
    }

    public Date getBillingTimeStart() {
        return billingTimeStart;
    }

    public void setBillingTimeStart(Date billingTimeStart) {
        this.billingTimeStart = billingTimeStart;
    }

    public Date getBillingTimeEnd() {
        return billingTimeEnd;
    }

    public void setBillingTimeEnd(Date billingTimeEnd) {
        this.billingTimeEnd = billingTimeEnd;
    }

    public Date getBillingTime() {
        return billingTime;
    }

    public void setBillingTime(Date billingTime) {
        this.billingTime = billingTime;
    }

    public String getBillNumber() {
        return billNumber;
    }

    public void setBillNumber(String billNumber) {
        this.billNumber = billNumber;
    }

    public double getReceivedCount() {
        return receivedCount;
    }

    public void setReceivedCount(double receivedCount) {
        this.receivedCount = receivedCount;
    }

    public Date getReceivedTime() {
        return receivedTime;
    }

    public void setReceivedTime(Date receivedTime) {
        this.receivedTime = receivedTime;
    }

    public String getReceivedStatus() {
        return receivedStatus;
    }

    public void setReceivedStatus(String receivedStatus) {
        this.receivedStatus = receivedStatus;
    }

    public Date getBillingBeginTime() {
        return billingBeginTime;
    }

    public void setBillingBeginTime(Date billingBeginTime) {
        this.billingBeginTime = billingBeginTime;
    }

    public Date getBillingOverTime() {
        return billingOverTime;
    }

    public void setBillingOverTime(Date billingOverTime) {
        this.billingOverTime = billingOverTime;
    }

    @Override
    public String getRemark() {
        return remark;
    }

    @Override
    public void setRemark(String remark) {
        this.remark = remark;
    }

    public String getBillingTimeConcat() {
        return billingTimeConcat;
    }

    public void setBillingTimeConcat(String billingTimeConcat) {
        this.billingTimeConcat = billingTimeConcat;
    }

    public double getBillCount() {
        return billCount;
    }

    public void setBillCount(double billCount) {
        this.billCount = billCount;
    }

    @Override
    public String toString() {
        return "BillInfo{" +
                "serialNumber=" + serialNumber +
                ", billId='" + billId + '\'' +
                ", projectName='" + projectName + '\'' +
                ", companyName='" + companyName + '\'' +
                ", chargeType='" + chargeType + '\'' +
                ", billingTimeStart=" + billingTimeStart +
                ", billingTimeEnd=" + billingTimeEnd +
                ", billingTimeConcat='" + billingTimeConcat + '\'' +
                ", billingTime=" + billingTime +
                ", billingBeginTime=" + billingBeginTime +
                ", billingOverTime=" + billingOverTime +
                ", billCount=" + billCount +
                ", billNumber='" + billNumber + '\'' +
                ", receivedCount=" + receivedCount +
                ", receivedTime=" + receivedTime +
                ", receivedBeginTime=" + receivedBeginTime +
                ", receivedOverTime=" + receivedOverTime +
                ", receivedStatus='" + receivedStatus + '\'' +
                ", remark='" + remark + '\'' +
                '}';
    }
}
